home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libbonobo-2.0 / bonobo / bonobo-item-handler.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-01-09  |  2.5 KB  |  75 lines

  1. /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
  2. /**
  3.  * bonobo-item-handler.h: a generic ItemContainer handler for monikers.
  4.  *
  5.  * Author:
  6.  *   Miguel de Icaza (miguel@kernel.org)
  7.  *
  8.  * Copyright 1999, 2000 Helix Code, Inc.
  9.  * Copyright 1999, 2000 Miguel de Icaza
  10.  */
  11.  
  12. #ifndef _BONOBO_ITEM_HANDLER_H_
  13. #define _BONOBO_ITEM_HANDLER_H_
  14.  
  15.  
  16. #include <bonobo/bonobo-object.h>
  17.  
  18. G_BEGIN_DECLS
  19.  
  20. #define BONOBO_TYPE_ITEM_HANDLER        (bonobo_item_handler_get_type ())
  21. #define BONOBO_ITEM_HANDLER_TYPE        BONOBO_TYPE_ITEM_HANDLER /* deprecated, you should use BONOBO_TYPE_ITEM_HANDLER */
  22. #define BONOBO_ITEM_HANDLER(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), BONOBO_TYPE_ITEM_HANDLER, BonoboItemHandler))
  23. #define BONOBO_ITEM_HANDLER_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), BONOBO_TYPE_ITEM_HANDLER, BonoboItemHandlerClass))
  24. #define BONOBO_IS_ITEM_HANDLER(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), BONOBO_TYPE_ITEM_HANDLER))
  25. #define BONOBO_IS_ITEM_HANDLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BONOBO_TYPE_ITEM_HANDLER))
  26.  
  27. typedef struct _BonoboItemHandlerPrivate BonoboItemHandlerPrivate;
  28. typedef struct _BonoboItemHandler        BonoboItemHandler;
  29.  
  30. typedef Bonobo_ItemContainer_ObjectNames *(*BonoboItemHandlerEnumObjectsFn)
  31.     (BonoboItemHandler *h, gpointer data, CORBA_Environment *);
  32.  
  33. typedef Bonobo_Unknown (*BonoboItemHandlerGetObjectFn)
  34.     (BonoboItemHandler *h, const char *item_name, gboolean only_if_exists,
  35.      gpointer data, CORBA_Environment *ev);
  36.  
  37. struct _BonoboItemHandler {
  38.     BonoboObject base;
  39.  
  40.     POA_Bonobo_ItemContainer__epv epv;
  41.  
  42.     BonoboItemHandlerPrivate      *priv;
  43. };
  44.  
  45. typedef struct {
  46.     BonoboObjectClass parent_class;
  47.  
  48.     POA_Bonobo_ItemContainer__epv epv;
  49. } BonoboItemHandlerClass;
  50.  
  51. GType                bonobo_item_handler_get_type    (void) G_GNUC_CONST;
  52. BonoboItemHandler   *bonobo_item_handler_new         (BonoboItemHandlerEnumObjectsFn enum_objects,
  53.                               BonoboItemHandlerGetObjectFn   get_object,
  54.                               gpointer                       user_data);
  55.  
  56. BonoboItemHandler   *bonobo_item_handler_new_closure (GClosure *enum_objects,
  57.                               GClosure *get_object);
  58.  
  59. BonoboItemHandler   *bonobo_item_handler_construct   (BonoboItemHandler *handler,
  60.                               GClosure          *enum_objects,
  61.                               GClosure          *get_object);
  62.  
  63. /* Utility functions that can be used by getObject routines */
  64. typedef struct {
  65.     char *key;
  66.     char *value;
  67. } BonoboItemOption;
  68.  
  69. GSList *bonobo_item_option_parse (const char *option_string);
  70. void    bonobo_item_options_free (GSList *options);
  71.  
  72. G_END_DECLS
  73.  
  74. #endif
  75.